package org.finalministry.database.dao;

import java.util.List;

import org.finalministry.objects.FlagsTagsNotes;

public class FlagsTagsNotesDAO extends AbstractDAO {

	// Flags and tags are all lowercase, except notes
	private static final String DISFELLOWSHIPPED = "disfellowshipped";
	private static final String DO_NOT_VISIT = "donotvisit";
	private static final String OTHERLANGUAGE = "otherlanguage";
	private static final String STUDY = "study";
	private static final String TABLENAME = "FlagsTagsNotes";

	public FlagsTagsNotesDAO() {
		super();
	}

	/**
	 * Insert a new FlagsTagsNotes into the database.
	 * 
	 * @param FlagsTagsNotes
	 * @return persisted ID
	 * @throws DataAccessLayerException
	 */
	public FlagsTagsNotes merge(FlagsTagsNotes flagsTagsNotes) throws DataAccessLayerException {

		return (FlagsTagsNotes) super.merge(flagsTagsNotes);
	}

	/**
	 * Delete a detached FlagsTagsNotes from the database.
	 * 
	 * @param FlagsTagsNotes
	 */
	public void delete(FlagsTagsNotes flagsTagsNotes) throws DataAccessLayerException {

		super.delete(flagsTagsNotes);
	}

	/**
	 * Find an FlagsTagsNotes by its primary key.
	 * 
	 * @param id
	 * @return
	 */
	public FlagsTagsNotes find(Long id) throws DataAccessLayerException {

		return (FlagsTagsNotes) super.find(FlagsTagsNotes.class, id);
	}

	/**
	 * Finds all FlagsTagsNotess in the database.
	 * 
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List<FlagsTagsNotes> findAll() throws DataAccessLayerException {

		return super.findAll(FlagsTagsNotes.class);
	}

	/**
	 * Get table name
	 */
	@Override
	protected String getTableName() {

		return TABLENAME;
	}

}
